package com.shop.cereshop.commons.domain.pet;

import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import com.fasterxml.jackson.annotation.JsonIgnore;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import lombok.experimental.Accessors;

import java.io.Serializable;
import java.time.LocalDate;
import java.util.Date;

/**
 * 宠物档案表
 * @TableName cere_pet_info
 */
@ApiModel(value = "CerePetInfo", description = "宠物档案表")
@Data
@TableName(value ="cere_pet_info")
@Accessors(chain = true)
public class CerePetInfo implements Serializable {

    /**
     * 宠物ID
     */
    @ApiModelProperty("宠物ID")
    @TableId(value = "pet_id", type = IdType.AUTO)
    private Long petId;
    /**
     * 宠物一级分类ID
     */
    @ApiModelProperty("宠物一级分类ID")
    private Long petClassifyId1;
    /**
     * 宠物二级分类ID
     */
    @ApiModelProperty("宠物二级分类ID(关联品种类型)")
    private Long petClassifyId2;
    /**
     * 宠物名称
     */
    @ApiModelProperty("宠物名称")
    private String petName;
    /**
     * 宠物生日
     */
    @ApiModelProperty("宠物生日")
    private LocalDate petBirthday;
    /**
     * 性别(雄性,雌性)
     */
    @ApiModelProperty("性别(1-雄性,0-雌性)")
    private Integer petGender;
    /**
     * 宠物头像
     */
    @ApiModelProperty("宠物头像")
    private String petAvatar;
    /**
     * 宠物是否接种疫苗(0-否，1-是)
     */
    @ApiModelProperty("宠物是否接种疫苗(0-否，1-是)")
    private Integer vaccinated;
    /**
     * 是否已绝育(0-否，1-是)
     */
    @ApiModelProperty("是否已绝育(0-否，1-是，2-未知)")
    private Integer neutered;
    /**
     * 特殊时期(0-非特殊时期，1-哺乳期,2-孕期,3-发情期)
     */
    @ApiModelProperty("特殊时期(0-非特殊时期，1-哺乳期,2-孕期,3-发情期)")
    private Integer specialPeriod;
    /**
     * 状态(0-禁用,1-启用)
     */
    @ApiModelProperty("状态(0-禁用,1-启用)")
    private Integer state;
    /**
     * 创建时间
     */
    @ApiModelProperty("创建时间")
    @JsonIgnore
    private Date createTime;
    /**
     * 更新时间
     */
    @ApiModelProperty("更新时间")
    @JsonIgnore
    private Date updateTime;
    /**
     * 用户id
     */
    @ApiModelProperty("用户id")
    private Long buyerUserId;
}